

/*****
USB HUB METER 纯净版
包含完整的USB HUB电流计相关功能，左滑切换进入设置页，右滑返回
作者：萨纳兰的黄昏
编译之前请做以下工作（针对不懂的新手）：
1、将 lib目录内的库拷贝到你的Arduino库目录（C:\Users\你的用户名\Documents\Arduino\libraries）
2、确保libraries下有lv_conf.h 文件
3、之前已经有对应库的，请自己根据情况备份，或者将这份代码移植为Platform IO 的版本
4、Arduino设置 
  USB CDC On boot（关闭）
  Flash Mode （QIO）
  Flash Size（8MB）
  PSRAM(OPI PSRAM)
  Partition（8MB 随便选一个）
  
其他默认

请使用Esp32 Arduno 2.0.14 - 2.0.17版本，不支持3.0版（Arduino GFX库和FastLED库不支持）
3.0版请自行移植显示驱动（ESP32_Display_Panel-0.1.5）和LED驱动

本项目仅供个人展示演示使用涉及的字体，请自行生成替换自己喜欢的字体
*/

#include "common.h"
#define TASK_PRIORITY_LVGL 8
#define TASK_PRIORITY_LED 2

TaskHandle_t TASK_DISP_HANDLE = NULL;
TaskHandle_t TASK_LED_HANDLE = NULL;

void setup() {
  delay(200);
  Serial.begin(115200);
  MY_INFO("System start...\n");

  loadConfigFromNVS();

  MY_INFO("Start I2C Wire\n");
  i2c_begin(400000, TOUCH_SDA, TOUCH_SCL);

  gfx_pre_init();

  init_usb_power_hwmon();

  init_hwmon_gpio();

  MY_INFO("Start tasks..\n");
  delay(100);

  xTaskCreatePinnedToCore(task_lvgl, "task_lvgl", 4096, NULL, TASK_PRIORITY_LVGL, &TASK_DISP_HANDLE, 0);

  xTaskCreatePinnedToCore(task_led, "task_led", 2048, NULL, TASK_PRIORITY_LED, &TASK_LED_HANDLE, 1);

  MY_INFO("Boot finished.\n");
  vTaskDelete(NULL);
}

void loop() {
}